#ifndef _DEFS_H_
#define _DEFS_H_
#include<time.h>
#include<unistd.h>


#define VECTOR_SIZE 21500

typedef long double real;

//simulacao de delay no produto de dois elementos
inline real exp2(real element){
	usleep(2000);
	return element*element;
}

//funcao de calculo parcial da soma dos quadrados
inline real parcialsquaresum(real *vec,int liminf, int limsup){
	register int k; //utiliza registrador do processador se possivel
	real result = 0.0;
	for (k=liminf;k<limsup;k++){
		result += exp2(vec[k]);
	}
	return result;
}

//funcao para inicializar o vetor
inline void init_vector(real *vec, int n, real value=1.0){
	register int k;
	for (k=0;k<n;k++){
		vec[k] = value;
	}
}


#endif
